<?

	require_once('../cnn/conn.php'); 			// -> Conexão com a base de dados
	require_once('../config/funcoes_db.php');   // -> funções com relação à base de dados
	
	

	/* ------------> ATUALIZAÇÃO DOS DADOS <------------
	 *
	 * Verificando a qual tabele refere-se para que 
	 * os dados sejam atualizados.
	 */
	 
	 $update    = "";
	 $updateSQL = "";
	 

	if ( isset($_POST['nome_tabela']) )
	{	
		
		/* Monta a instrução SQL de acordo com a 
		 * tabela passada ( $_POST['nome_tabela'] )
		 */
		switch ( strtolower( $_POST['nome_tabela'] ) ) 
		{
			
			case "pergunta":
				
				$update = "	UPDATE pergunta SET codSecao=%s, codCateg=%s, descPerg=%s, ordem=%s, preenObrig=%s, qtdRespostas=%s 
							WHERE codPergunta=%s";
				
				$updatePerg = sprintf( 	$update,
										valorInserirSQL($_POST['codSecao']		, "int" ),
										valorInserirSQL($_POST['codCateg']		, "int" ),
										valorInserirSQL($_POST['descPerg']		, "text"),
										valorInserirSQL($_POST['Ordem']	  		, "int" ),
										valorInserirSQL($_POST['PreenObrig']	, "text"),
										valorInserirSQL($_POST['qtdRespostas']	, "text"),
										valorInserirSQL($_POST['codPergunta']	, "int" ));

				// Deletando as alternativas para inserí-las novamente						
				$delete = " DELETE FROM alternativa 
							WHERE codPergunta=%s ";
							
				$deleteAltern = sprintf( 	$delete, 
											valorInserirSQL($_POST['codPergunta'], "int"));
				
				// SQL de inserção das questõs da Pergunta
				$insertAlteran = SQL_insertAltern();
				
				// variável a ser passada para o método "executeSQLComands" (funcoes_db.php)
				$updateSQL = array($updatePerg, $deleteAltern, $insertAlteran);
				
			break;
			
			case "categoria":

				$updateCateg = " 	UPDATE categoria SET codCateg = %s, descCateg = %s
									WHERE codCateg = %s";
				$insertPreResps = "";
				
				$updateSQL = array(2);
				$updateSQL[0] = $updateCateg;
			
				
			break;
				

		}
		
		// Atualizando os dados
		if ( isset($_POST["redirectTo"]) )
			executeSQLCommands($updateSQL, $_POST["redirectTo"], $database_conn, $conn);
		else
			executeSQLCommands($updateSQL, ""					, $database_conn, $conn);
			
	}
	
	
	/* Função: SQL_insertAltern
	 * 
	 * Descrição: Monta o comando de inserção SQL para inserir 
	 * 			  as questões da pergunta que está sendo alterada
	 * 
	 * Retorno:   String SQL
	 *
	 * Autor: Alexandre Varizi Ribeiro
	 * Data:  			   30/05/2012
	 * Última Modificação: 27/06/2012
	 */
	function SQL_insertAltern() 
	{
		
		$codPerg = valorInserirSQL($_POST['codPergunta'], 'int');
		$insertAltern 	= "";
		
		$descAcao  = "";
		$valorAcao = "";
		
		$arrTipoElemento 	= $_POST['tipoElemento'];
		$arrDescAlternativa = $_POST['descAlternativa'];
		$arrTipo 			= $_POST['tipo'];
		$arrTamanho 		= $_POST['tamanho'];
		$arrOrdemAltern		= $_POST['ordemAltern'];
		$arrAcao_seMarcada 	= $_POST['acao_seMarcada'];
		$arrAcao_seValor 	= $_POST['acao_seValor'];
		$arrDescAcao        = $_POST['descAcao'];
		$arrValorAcao       = $_POST['valorAcao'];
		$arrMascara 		= $_POST['mascara'];
		$arrPosicao			= $_POST['posicao'];
		
		
		$insertAltern = " INSERT INTO alternativa (codPergunta,  tipoElemento, descAlternativa, tamanho, 
												   tipo, ordem,  mascara,  acao_seMarcada, acao_seValor, posicao,
												   descAcao, valorAcao) 
										   VALUES ";
													
		for ($i = 0; $i < count($arrTipoElemento); $i++)
		{
			
			if ($arrAcao_seMarcada != "" || $arrAcao_seMarcada != "PROX_Q" || $arrAcao_seMarcada != "PROX_S" ||
				$arrAcao_seValor   != "" || $arrAcao_seValor   != "PROX_Q" || $arrAcao_seValor   != "PROX_S")
			{
				$descAcao = $arrDescAcao[$i];
			} 
			
			if ($arrAcao_seValor != "")
			{
				$valorAcao = $arrValorAcao[$i];
			}
					
			$insertSQL = sprintf(" (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ",
						   valorInserirSQL($codPerg					, "int"),
						   valorInserirSQL($arrTipoElemento[$i]		, "text"),
						   valorInserirSQL($arrDescAlternativa[$i]	, "text"),
						   valorInserirSQL($arrTamanho[$i]			, "int"),
						   valorInserirSQL($arrTipo[$i]				, "text"),
						   valorInserirSQL($arrOrdemAltern[$i]		, "int"),
						   valorInserirSQL($arrMascara[$i]			, "text"),
						   valorInserirSQL($arrAcao_seMarcada[$i]	, "text"),
						   valorInserirSQL($arrAcao_seValor[$i]		, "text"),
						   valorInserirSQL($arrPosicao[$i]			, "text"),
						   valorInserirSQL($descAcao				, "text"),
						   valorInserirSQL($valorAcao				, "text"));
						   
			if ( $i < count($arrTipoElemento) - 1 )
			{
				$insertSQL .= ", ";
			}
			
			$insertAltern .= " " . $insertSQL;
		}
			
		
		return $insertAltern;								
	}
	

?>